package top.jiangqiang.qianyi.common.utils;

import top.jiangqiang.qianyi.common.constants.base.EnumItem;
import top.jiangqiang.qianyi.common.constants.base.IEnum;

import java.util.Arrays;
import java.util.List;

public class EnumUtil extends org.dromara.hutool.core.util.EnumUtil {
    /**
     *
     * @param tClass 实现了指定接口的枚举Class
     * @return
     * @param <T>
     */
    public static <T extends Enum<?> & IEnum> List<EnumItem> getEnumItems(Class<T> tClass) {
        return Arrays.stream(tClass.getEnumConstants()).map(enumObj -> {
            EnumItem enumItem = new EnumItem();
            enumItem.setEnumObj(enumObj);
            enumItem.setName(enumObj.name());
            enumItem.setCode(enumObj.name());
            enumItem.setDesc(enumObj.getDesc());
            return enumItem;
        }).toList();

    }
}
